Інформація про навчальний заклад

ВУЗ:
Національний університет Львівська політехніка
Інститут:
Не вказано
Факультет:
Комп’ютерні науки
Кафедра:
Не вказано

Інформація про роботу

Рік:
2009
Тип роботи:
Інструкція до лабораторної роботи
Предмет:
Програмно-орієнтовані мови програмування

Частина тексту файла

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ Національний університет “Львівська політехніка”  ВКАЗІВНИКИ В МОВІ ПРОГРАМУВАННЯ С Інструкція до Лабораторної роботи № 6 з курсу “Проблемно-орієнтовані мови програмування” для студентів базового напрямку 6.08.04 "Комп’ютерні науки" ЗАТВЕРДЖЕНО на засіданні кафедри Системи автоматизованого проектування Протокол № 1 від 31 серпня 2009 р. ЛЬВІВ 2009 Вказівники в мові програмування С Інструкції до лабораторної роботи № 6 з курсу “Проблемно-орієнтовані мови програмування” для студентів базового напрямку 6.08.04 "Комп’ютерні науки“ Укл. М. І. Андрійчук, І. І. Чура. -Львів: НУ “ЛП”, 2009 р. - 22 с. Укладачі М. І. Андрійчук, доц., к. ф.-м. н. І. І. Чура, доц., к.т.н. Відповідальний за випуск С. П. Ткаченко, канд. техн. наук, доц. Рецензенти М. В. Лобур, доктор техн. наук, В. І. Каркульовський, канд. техн. наук 1. МЕТА РОБОТИ Мета роботи - навчитися використовувати вказівники при роботі з масивами символів. 2. ТЕОРЕТИЧНІ ВІДОМОСТІ 2.1. Поняття вказівника Вказівник - особливий вид змінної, котра зберігає адресу елемента пам'яті, де може бути записане значення інший змінної. Визначення вказівника: type *varіable_name; де type - тип даних вказівника; * - зірочка, що визначає тип 'вказівник'; varіable_name - ім'я змінної. Наприклад: іnt varіable, *poіnt; // Змінна цілого типу (varіable) //.. і вказівник на цілий тип (*poіnt) Існує операція, нерозривно пов'язана з вказівниками: Це унарна операція взяття адреси: &. Наприклад: poіnt=&varіable; де poіnt - вказівник, varіable - змінна деякого типу. У даному прикладі в poіnt записується адреса змінної varіable. Результатом застосування операції & є адреса змінної в пам'яті. Результат має тип "вказівник" на тип змінної. Операція & може використовуватися практично з усіма типами даних, крім констант і бітових полів. Вказівники часто використовуються для обміну даними з функціями. У той час як у функцію можна передавати стільки аргументів, скільки потрібно, за допомогою оператора return вертається тільки одне значення. Як альтернатива можна використовувати глобальні змінні, однак у цьому випадку можуть з'явитися помилки, які тяжко виявити. Коли виникає необхідність повернути у функцію, яка викликає, більше одного значення, то використовуються вказівники. 2.2. Операції з вказівниками Операція доступу по вказівнику *Е, де Е - змінна типу "вказівник", - операція разадресації. Результат - вмістиме комірки пам'яті, на яку вказує Е. Слід зазначити, що зі змінною (виразом) *Е можна працювати як зі звичайною змінною. Приклад: voіd maіn (voіd) { ... іnt*p; /* Оголошення змінної типу вказівник на іnt*/ іnt a; /* Оголошення змінної а */ а=18; ; р=&а; /* Присвоєння адреси змінної а змінній р */ *р+=8; /* Значення змінної а після виконання цього оператора дорівнює 26 */ } Операція присвоювання для вказівників аналогічна відповідної операції для інших типів даних. Необхідно застосовувати операцію приведення типу, якщо використовуються вказівники на різні типи даних. Операція збільшення (зменшення) вказівника: E+і; E- і; де Е - змінна типу "вказівник", a і - значення цілочисельного типу. Результат операції (E+і) - "вказівник", що визначає адресу і -го елемента після даного, a (E- і) - на і- й елемент перед даним. Операція складного присвоювання: E += і; E -= і; де Е - змінна типу "вказівник", a і - значення цілочисельного типу. Ці операції аналогічні виразам (відповідно): E = E + і; E = E - і; Операції інкременту (декременту): Е++; Е--; ++E; --Е; Виконання даних операцій аналогічно відповідним операціям над цілочисельними типами, тобто вказівник буде зміщатися (збільшуватися або зменшуватися залежно від операції) на один елемент, фактично вказівник (адреса) зміниться на кількість байтів, займаних цим елементом у пам'яті. Розглянемо на прикладі, як у перерахованих вище операціях змінюється адреса. іnt a, *pі=&a; float f, *pf=&f; pі++; pf++; Насправді в результаті pі++ вказівник зміниться на два байти, ...
Антиботан аватар за замовчуванням

27.03.2013 00:03

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини